package com.xiangshizhineng.tianzhangzhi.app.model.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiangshizhineng.tianzhangzhi.app.common.base.BaseDTO;
import com.xiangshizhineng.tianzhangzhi.app.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


@ApiModel("事件表")
@Data
@EqualsAndHashCode(callSuper = true)
public class EventDTO extends BaseDTO implements Serializable {

    /**
     * 任务id
     */
    @ApiModelProperty(value = "任务id")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long taskId;
    /**
     * 事件名称
     */
    @ApiModelProperty(value = "事件名称")
    private String eventName;
    /**
     * 事件违法类型（字典表）
     */
    @ApiModelProperty(value = "事件违法类型（字典表）")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long eventIllegalTypeId;
    /**
     * 事件描述
     */
    @ApiModelProperty(value = "事件描述")
    private String eventDes;
    /**
     * x坐标
     */
    @ApiModelProperty(value = "x坐标")
    private BigDecimal eventX;
    /**
     * y坐标
     */
    @ApiModelProperty(value = "y坐标")
    private BigDecimal eventY;
    /**
     * 上报时间
     */
    @ApiModelProperty(value = "上报时间")
    private Date createTime;
    /**
     * 
     */
    @ApiModelProperty(value = "")
    private Date updateTime;
    /**
     * 事件状态（字典表）
     */
    @ApiModelProperty(value = "事件状态（字典表）")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long eventStatusId;
    /**
     * 事件上报方式（0普通上报,1快速上报）
     */
    @ApiModelProperty(value = "事件上报方式（0普通上报,1快速上报）")
    private Long eventReportTypeId;
    /**
     * 解决情况
     */
    @ApiModelProperty(value = "解决情况")
    private String solveSituation;
    /**
     * 审核人(当前用户的上级田长id)
     */
    @ApiModelProperty(value = "审核人(当前用户的上级田长id)")
    private Long reviewer;
    /**
     * 上报人id
     */
    @ApiModelProperty(value = "上报人id")
    private Long reportBy;
    /**
     * 审核意见
     */
    @ApiModelProperty(value = "审核意见")
    private String reviewComments;
    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    private Date reviewerTime;

    /**
     * 催办
     */
    @ApiModelProperty(value = "催办")
    private String cb;

    /**
     * 处理人
     */
    @ApiModelProperty(value = "处理人id")
    private Long handler;

}
